2.8 表格选择之loc切片法-行选择
Loc切片法相当于直接法df[…]的长级版,功能比直接使用切片法更强大, 表示方法为df.loc[行切片][,列切片]]。在此基础上进行变化。
单行 :如果DataFrame表格的行索引是自然号,表示方法为df.loc[单个索引号]; 如果行索引是标签,表示方法是df.loc[“单个行索引标签”]。
连续多行 :如果DataFrame表格的行索引是自然号, 表示方法为df.loc[起始行索引号:终止行索引号],如果索引是标签, 表示方法为:df.loc[“起始行索引标签”:”终止行索引号标签”]
不连续多行 :将行索引对应的序号或标签写入到列表、数组、Series等数据结构中,序号或标签可以不按顺序排列
单号自然号 :返回的数据是一个Seriese数据
原数据:
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df
print(t) (t)
返回:
序号 | 姓名 | 姓别 | 1月 | 2月 | 3月 | |
---|---|---|---|---|---|---|
0 | NED01 | 小王 | 男 | 87 | 79 | 37 |
1 | NED02 | 小曾 | 女 | 55 | 27 | 48 |
2 | NED03 | 小李 | 男 | 34 | 47 | 85 |
3 | NED04 | 小张 | 女 | 67 | 85 | 59 |
4 | NED05 | 小林 | 男 | 67 | 49 | 76 |
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df.loc[ 1 ]
print (t)
返回:
序号 NED02
姓名 小曾
姓别 女
1月 55
2月 27
3月 48
Name: 1, dtype: object
单号索引标签:返回的数据是一个Seriese数据
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path, index_col =1)
t=df.loc[ "小曾" ]
print (t)
返回:
序号 NED02
姓别 女
1月 55
2月 27
3月 48
Name: 小曾, dtype: object
连续多行自然号:返回的数据是一个DataFrme数据
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df.loc[ 1:3 ] #行选择两边都是开的
print (t)
返回:
序号 | 姓名 | 姓别 | 1月 | 2月 | 3月 | |
---|---|---|---|---|---|---|
1 | NED02 | 小曾 | 女 | 55 | 27 | 48 |
2 | NED03 | 小李 | 男 | 34 | 47 | 85 |
3 | NED04 | 小张 | 女 | 67 | 85 | 59 |
连续多行标签:返回的数据是一个DataFrme数据
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path, index_col =1)
t=df.loc[ "小曾":"小张" ]
print (t)
返回:
序号 | 姓别 | 1月 | 2月 | 3月 | |
---|---|---|---|---|---|
姓名 | |||||
小曾 | NED02 | 女 | 55 | 27 | 48 |
小李 | NED03 | 男 | 34 | 47 | 85 |
小张 | NED04 | 女 | 67 | 85 | 59 |
不连续多行自然号:返回的数据是一个DataFrme数据
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df.loc[[ 0,2,4 ]] #可以不按顺序,可以手工调整顺序
print (t)
返回:
序号 | 姓名 | 姓别 | 1月 | 2月 | 3月 | |
---|---|---|---|---|---|---|
0 | NED01 | 小王 | 男 | 87 | 79 | 37 |
2 | NED03 | 小李 | 男 | 34 | 47 | 85 |
4 | NED05 | 小林 | 男 | 67 | 49 | 76 |